Wstp

Problem definiuje rodowisko, w ktrym istnieje pewna populacja osobnikw. Kady z osobnikw ma przypisany pewien zbir informacji stanowicych jego genotyp, a bdcych podstaw do utworzenia fenotypu. Fenotyp to zbir cech podlegajcych ocenie funkcji przystosowania modelujcej rodowisko. Innymi sowy - genotyp opisuje proponowane rozwizanie problemu, a funkcja przystosowania ocenia, jak dobre jest to rozwizanie.

Genotyp skada si z chromosomw, gdzie zakodowany jest fenotyp i ewentualnie pewne informacje pomocnicze dla algorytmu genetycznego. Chromosom skada si z genw.

Wsplnymi cechami algorytmw ewolucyjnych, odrniajcymi je od innych, tradycyjnych metod optymalizacji, s:

   1. stosowanie operatorw genetycznych, ktre dostosowane s do postaci rozwiza,
   2. przetwarzanie populacji rozwiza, prowadzce do rwnolegego przeszukiwania przestrzeni rozwiza z rnych punktw,
   3. w celu ukierunkowania procesu przeszukiwania wystarczajc informacj jest jako aktualnych rozwiza,
   4. celowe wprowadzenie elementw losowych.


[edytuj] Zapis algorytmu

Najczciej dziaanie algorytmu przebiega nastpujco:

   1. Losowana jest pewna populacja pocztkowa.
   2. Populacja poddawana jest ocenie (selekcja). Najlepiej przystosowane osobniki bior udzia w procesie reprodukcji.
   3. Genotypy wybranych osobnikw poddawane s operatorom ewolucyjnym:
         1. s sob kojarzone poprzez zczanie genotypw rodzicw (krzyowanie),
         2. przeprowadzana jest mutacja, czyli wprowadzenie drobnych losowych zmian.
   4. Rodzi si drugie (kolejne) pokolenie i algorytm powraca do kroku drugiego, jeeli nie znaleziono dostatecznie dobrego rozwizania. W przeciwnym wypadku uzyskujemy wynik.

Dziaanie algorytmu genetycznego obejmuje kilka zagadnie potrzebnych do ustalenia:

   1. ustalenie genomu jako reprezentanta wyniku
   2. ustalenie funkcji przystosowania/dopasowania
   3. ustalenie operatorw przeszukiwania

[edytuj] Kodowanie

Kodowanie jest bardzo istotnym etapem projektowania algorytmu. Sposb zakodowania w chromosomie informacji o proponowanym rozwizaniu wydatnie wpywa na szybko i jako znajdywanych wynikw. Przyczyn takiego zjawiska jest wpyw kodowania na sposb w jaki przeszukiwana jest przestrze rozwiza. Ze kodowanie moe spowodowa, e nigdy nie zostanie przeszukany fragment przestrzeni, w ktrym znajduj si najlepsze rozwizania!

Najczciej stosowane kodowania chromosomu:

    * wektorem genw, z ktrych kady z nich moe by jedno- lub wielobitow liczb cakowit, bd te liczb rzeczywist.
    * za pomoc drzewiastych struktur danych.

[edytuj] Funkcja przystosowania

Proces wyboru osobnikw poddanych ocenie wedug okrelonych kryteriw. Kryteria te zapisuje si w postaci funkcji oceny albo inaczej funkcji przystosowania. Algorytm genetyczny dy zwykle do jej minimalizacji (maksymalizacji). Jako kryterium czsto przyjmowana jest funkcja celu rozwaanego problemu optymalizacji.

[edytuj] Funkcja oceny

Funkcja oceny to miara jakoci dowolnego osobnika (fenotypu, rozwizania) w populacji. Dla kadego osobnika jest ona obliczana na podstawie pewnego modelu rozwizywanego problemu. Zamy dla przykadu, e chcemy zaprojektowa obwd elektryczny o pewnej charakterystyce. Funkcja oceny bdzie premiowaa rozwizania najbardziej zblionej do tej charakterystyki, zbudowane z najmniejszej liczby elementw. W procesie selekcji faworyzowane bd najlepiej przystosowane osobniki. One stan si "rodzicami" dla populacji.

[edytuj] Metody selekcji

Istnieje wiele metod selekcji. Dla przykadu mona przedstawi tzw. metod ruletki. Budujemy wirtualnie koo, ktrego wycinki odpowiadaj poszczeglnym osobnikom. Im lepszy osobnik, tym wikszy wycinek koa zajmuje. Rozmiar wycinkw moe zalee od wartoci funkcji oceny, jeli wysoka warto oceny oznacza wysokie przystosowanie. W takim ukadzie prawdopodobiestwo, e lepszy osobnik zostanie wybrany jako rodzic, jest wiksze. Niestety ewolucja przy takim algorytmie z kadym krokiem zwalnia. Jeeli osobniki s podobne, to kady dostaje rwny wycinek koa fortuny i presja selekcyjna spada. Algorytm sabiej rozrnia osobniki dobre od sabszych.

Pozbawiona tej wady jest metoda rankingowa. Obliczamy dla kadego osobnika funkcj oceny i ustawiamy je w szeregu najlepszy-najgorszy. Pierwsi na licie dostaj prawo do rozmnaania, a reszta trafia do historii. Wad metody jest niewraliwo na rnice pomidzy kolejnymi osobnikami w kolejce. Moe si okaza, e ssiadujce na licie rozwizania maj rne wartoci funkcji oceny, ale dostaj prawie tak sam ilo potomstwa.

Istniej take metody selekcji wielokryterialnej. Tworzymy kilka rnych funkcji oceny (oceniajcych pewne wybrane cechy osobnikw osobno). Dla przykadu osobniki mog by uoone nie w jednym, ale w kilku szeregach najlepszy-najgorszy, a proces selekcji jest bardziej zoony.

Jak wida, selekcja daje wiksze prawdopodobiestwo reprodukcji osobnikom o duym przystosowaniu, wic kolejne pokolenia s coraz lepiej przystosowane. Spada jednak rnorodno genotypu populacji - populacja z czasem zostaje zmonopolizowana przez nieznacznie rnice si (lub wrcz identyczne) odmiany tego samego osobnika. Objawia si to zbienoci kolejnych, najlepszych rozwiza do pewnej granicy. Czasami zbieno jest przedwczesna, a ewolucja utyka i uzyskane rozwizania przedstawiaj pewne ekstrema lokalne. Mog by one dalekie od oczekiwanych rozwiza globalnych, czyli tych najlepszych w caej przeszukiwanej przestrzeni.


[edytuj] Operatory przeszukiwania

W kadym cyklu (kade pokolenie) poddawane s "obrbce" za pomoc operatorw ewolucyjnych. Celem tego etapu jest wygenerowanie nowego pokolenia, na podstawie poprzedniego, ktre by moe bdzie lepiej dopasowane do zaoonego rodowiska.

Operator krzyowania ma za zadanie czy w rnych kombinacjach cechy pochodzce z rnych osobnikw populacji, za operator mutacji ma za zadanie zwiksza rnorodno tych osobnikw. O przynalenoci dowolnego algorytmu do klasy algorytmw genetycznych decyduje gwnie zastosowanie operatora krzyowania i praca z caymi populacjami osobnikw (idea czenia w przypadkowy sposb genotypw nieprzypadkowo wybranych osobnikw). Rwnie wany jest operator mutacji. Jeli krzyowanie traktowa jako sposb eksploatacji przestrzeni rozwiza, to mutacja jest sposobem na jej eksploracj. Moe si jednak zdarzy, e dla niektrych zagadnie jej zastosowanie nie jest krytyczne.

[edytuj] Krzyowanie

Krzyowanie polega na poczeniu niektrych (wybierane losowo) genotypw w jeden. Kojarzenie ma sprawi, e potomek dwch osobnikw rodzicielskich ma zesp cech, ktry jest kombinacj ich cech (moe si zdarzy, e tych najlepszych).

Sposb krzyowania jest zaleny od kodowania chromosomw i specyfiki problemu. Jednak mona wskaza kilka standardowych metod krzyowania:

    * rozcicie dwch chromosomw i stworzenie nowego poprzez sklejenie lewej czci jednego rodzica z praw czci drugiego rodzica (dla chromosomw z kodowaniem binarnym i cakowitoliczbowym),

    grafika:krzyzowanie_chromosomow.png

    * stosowanie operacji logicznych (kodowanie binarne),
    * obliczenie wartoci redniej genw (kodowanie liczbami rzeczywistymi).

[edytuj] Mutacja

Mutacja wprowadza do genotypu losowe zmiany. Jej zadaniem jest wprowadzanie rnorodnoci w populacji, czyli zapobieganie (przynajmniej czciowe) przedwczesnej zbienoci algorytmu. Mutacja zachodzi z pewnym przyjtym prawdopodobiestwem - zazwyczaj rzdu 1%. Jest ono niskie, poniewa zbyt silna mutacja przynosi efekt odwrotny do zamierzonego: zamiast subtelnie rnicowa dobre rozwizania - niszczy je. Std w procesie ewolucji mutacja ma znaczenie drugorzdne, szczeglnie w przypadku dugich chromosomw.

W przypadku chromosomw kodowanych binarnie losuje si zazwyczaj dwa geny i zamienia si je miejscami bd np. neguje pewien wylosowany gen.

W przypadku genotypw zakodowanych liczbami cakowitymi stosuje si permutacje.

W przypadku genotypw zakodowanych liczbami rzeczywistymi wprowadza si do przypadkowych genw losowe zmiany o danym rozkadzie - najczciej normalnym.

[edytuj] Zastosowania algorytmw genetycznych

[edytuj] Rozwizywanie problemw NP

Algorytmy genetyczne znajduj zastosowanie tam, gdzie nie jest dobrze okrelony lub poznany sposb rozwizania problemu, ale znany jest sposb oceny jakoci rozwizania. Przykadem jest np. problem komiwojaera, gdzie naley znale najkrtsz drog czc wszystkie miasta, tak by przez kade miasto przej tylko raz. Ocena jakoci proponowanej trasy jest byskawiczna, natomiast znalezienie optymalnej trasy kwalifikuje si do klasy problemw NP zupenych. Przy zastosowaniu podejcia ewolucyjnego dobre rozwizanie mona znale bardzo szybko, ale oczywicie pewni moemy by jedynie uzyskania rozwiza sub-optymalnych, co wynika z formalnie opisanej trudnoci problemw klasy NP. Algorytmy genetyczne rwnie dobrze radz sobie w znajdowaniu przyblie ekstremw funkcji, ktrych nie da si obliczy analitycznie.

[edytuj] Projektowanie genetyczne

Algorytmy genetyczne wykorzystywane s rwnie do zarzdzania populacj sieci neuronowych. Projektowanie maszyn bd obwodw elektrycznych jest doskonaym polem dla wykazania si algorytmw genetycznych. Inynierowi podczas tworzenia nowych pomysw nie chodzi o znalezienie najlepszego moliwego rozwizania. Wystarczy tylko przyblione spenienie granicznych warunkw oraz optymalizacja projektu. Algorytmy genetyczne w odrnieniu od czowieka nie dziaaj schematycznie. Program nie zna wczeniejszych projektw i dlatego czasami wykazuje si pewn inwencj. Co wicej czowiek czsto opiera si na bardzo przyblionych modelach, ktre daj faszywy obraz problemu. Algorytm genetyczny moe przeanalizowa zoony model / zagadnienie i znale rozwizanie, na ktre czowiek by nie wpad.

[edytuj] Projektowanie obwodw elektrycznych

Algorytmy genetyczne mona wykorzysta do projektowania obwodw elektrycznych. Ocena kadego osobnika opiera si na iloci elementw oraz wasnociach elektrycznych, ktre atwo jest obliczy. Gwna rnica tkwi w algorytmie budowy osobnika na podstawie genomu. Ma on posta instrukcji dla programu, ktry na jego podstawie buduje obwd elektryczny. Najpierw mamy proste poczenie wejcia z wyjciem. Nastpnie program dodaje i usuwa poczenia i elementy. Zbudowany tak obwd jest oceniany na podstawie prostych zalenoci fizycznych. Podobny algorytm genetyczny zbudowa samodzielnie filtr drabinkowy. Analogiczne podejcie mona zastosowa przy projektowaniu anten. Rnica tkwi w tym, e wirtualny budowniczy porusza si w trjwymiarowej przestrzeni i ustawia metalowe elementy odbijajce fale.

Jednym z nowszych pomysw jest wykorzystanie algorytmw genetycznych w poczeniu z ukadami FPGA (field-programmable gate arrays). Maj one posta chipw, ktre mona byskawicznie zaprogramowa, aby zmieni struktur zawartego w nich obwodu elektrycznego. Algorytmy genetyczne badaj zwykle zachowanie symulowanych pokole. Dziki ukadom FPGA moliwe jest ewoluowanie prawdziwych obwodw elektrycznych. S one wpisywane do chipa, a nastpnie ich waciwoci elektryczne s mierzone rzeczywistym obwodem testowym. W ten sposb ewolucja moe wykorzysta wszystkie fizyczne wasnoci rzeczywistego ukadu elektrycznego.

Okazao si, e regulatory stosowane w automatyce rwnie mona udoskonali dziki zastosowaniu algorytmw genetycznych. Najpopularniejszy algorytm sterowania czyli PID, mona wyobrazi sobie jako pewien zestaw poczonych ze sob czonw rniczkujcych i cakujcych. Odpowiedni algorytm genetyczny moe zbudowa taki ukad analogicznie do obwodu elektrycznego. Korzystajc z tej metody John R. Koza opracowa nowe wersje PID-a [1].

Stworzono ponadto eksperymentalny system, zbudowany na bazie algorytmw genetycznych, ktry sam produkuje roboty, poddaje ocenie fizycznego rodowiska i optymalizuje pod ktem jak najlepszego poruszania si w tym rodowisku. Projekt nosi nazw Golem.

Niestety, aby ewolucja moga zaj potrzeba bardzo duo czasu. W praktyce oznacza to, konieczno badania populacji tysicy ukadw, na przestrzeni setek pokole. Moc obliczeniowa dzisiejszych komputerw jest zbyt maa, aby sprosta takiemu zdaniu w rozsdnym czasie. Z tego powodu wykorzystuje si klastry komputerw. Na kadym przebywa pewna populacja ukadw. Co pewien czas, cz z nich migruje do innego komputera, aby polepszy uzyskiwane wyniki. Jednak rozwj techniki komputerowej spowoduje, e za kilka lat algorytmy genetyczne bd mogy trafi pod strzechy.

[edytuj] Przeszukiwanie

Algorytmy genetyczne zapewniaj skuteczne mechanizmy przeszukiwania duych przestrzeni rozwiza. Poniewa grupowanie naley do tej kategorii zada to oczywiste jest, e algorytmy genetyczne stosowane s w grupowaniu. Algorytmy genetyczne s bardziej niezalene od wstpnej inicjalizacji oraz mniej skonne do znajdowania lokalnych rozwiza w miejsce optymalnych. Przykadem moe by zagadnienie grupowania w ktrym w miejsce klasycznych algorytmw z powodzeniem stosuje si algorytmy genetyczne.

[edytuj] Linki zewntrzne